package com.scedu.config;

import com.scedu.interceptors.LoginHandlerInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class InterceptorConfig  extends WebMvcConfigurationSupport {
    @Value("${upload.dir}")
    private String uploadPath;//文件上传保存目录
    @Autowired
    private LoginHandlerInterceptor loginHandlerInterceptor;
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/static/")
                .addResourceLocations("classpath:/templates")
                .addResourceLocations("file:"+uploadPath);
    }

    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        // 多个拦截器组成一个拦截器链
        // addPathPatterns 用于添加拦截规则，/**表示拦截所有请求
        // excludePathPatterns 用户排除拦截
        registry.addInterceptor(loginHandlerInterceptor).addPathPatterns("/emp/**","/file/fileupload/**")
                .excludePathPatterns("/login","/ems/login")
                .excludePathPatterns("/user/**","/static/**");

        super.addInterceptors(registry);
    }

}
